bufsize::SizeCounter
This library provides an implementation of bytes::BufMut
to count the size
of a resulting buffer.
[]
= "1.0"
Compiler support: requires rustc 1.39+
Example
use SizeCounter;
use BufMut;
;
This library provides an implementation of bytes::BufMut
to count the size
of a resulting buffer.
[dependencies]
bufsize = "1.0"
Compiler support: requires rustc 1.39+
use bufsize::SizeCounter;
use bytes::BufMut;
pub struct DataStructure;
impl DataStructure {
pub fn serialize<B: BufMut>(&self, buf: &mut B) {
let name = "DataStructure";
buf.put_u8(name.len() as u8);
buf.put_slice(name.as_bytes());
buf.put_u32_le(9999);
buf.put_f32_le(1.0);
}
}
fn main() {
let mut sizecount = SizeCounter::new();
DataStructure.serialize(&mut sizecount);
let mut buffer = Vec::with_capacity(sizecount.size());
DataStructure.serialize(&mut buffer);
assert_eq!(sizecount.size(), buffer.len());
}